:root {
  --primary-color: #f7f7f7;
  --secondary-color: #212121;
  --lightgrey: #efefef;
  --darkgrey: #646464;
  --navbg: #004b8d;
  --navcol: #ffffff; 
  --linkcol: #000;
  --massey-blue-dark: #0d5493;
  --massey-blue-mid: #0660af;
  --massey-blue-light: #0090e9;
  --massey-blue: #004b8d; /* darkest blue colour - main */
  --massey-gold: #e4a024;
}
/* root variables cannot be used in media queries so here for reference only:
  36em/57.6rem phone (Small devices (landscape phones, 576px and up)
  48em/76.8rem tablet (Medium devices (tablets, 768px and up)
  62em/99.2rem desktop (Large devices (desktops, 992px and up)
  75em/120rem large desktop (Large devices (desktops, 1200px and up)
  120em/192rem Pro/designer desktop (Large devices (desktops, 1920px and up, e.g. most pro design screens) 
*//* Note: We use a mix of "em" and "rem" dimensions throughout this css. 
Therefore adjusting body font size will alter any media queries and other dimensions that are based on "em". 
Feel free to change but be aware of possible unintended consequences :)  */

.body {
  font-family: 'MuseoSans', Helvetica, Arial, sans-serif;
  font-size:1.6rem; 
}
.lead {font-size:1.3em;}
.center {text-align:center;}/* ---------------------------------
    Navbar styles 
   --------------------------------- */
.navbar-section {
  padding-top: 0;
  padding-bottom: 0;
  /* navbar account name color */
  color: var(--navcol);
  /* navbar color */
  background-color: var(--navbg);
  /* navbar border at the bottom */
  border-bottom: 1px solid var(--navbg);
}

/* navbar icons text color */
.navbar-section .selection-count,
.navbar-section .avatar-user-dropdown{
  color: var(--navcol);
}

.css-icon-basket {
  color: var(--navcol);
}

/* navbar user dropdown border color */
.navbar-section .avatar-user-dropdown{
  border-color: var(--navcol);
}

/* hamburger menu for mobile */
svg.hamburger-menu g path {stroke:var(--navcol);}

/* navbar icons color */
.navbar-section .svg-stroke path,
.navbar-section .svg-stroke line {
  stroke: var(--navcol);
}
/* my profile circular border */
.navbar-section .avatar-user-dropdown {
	border-color: var(--navcol);
}

/* navbar icons color */
.navbar-section .svg-fill path{
  fill: var(--navcol);
}

/* navbar icon text color */
.nav-icon-text {
    color:var(--navcol);
}

/* navbar links */
.navbar-section-content a { 
  color: var(--navcol);
}

/* mobile menu */
.navbar-section-content { 
  background: var(--navbg);
}

/* Hide logo and account name on mobile */
.account-logo .logo {
  display: none; 
  max-height: 4rem;
}

span.account-name {
  font-size: 1.6rem;
  display: none;
}


@media (min-width: 62em) {
  /* Adjust height and spacing for logo on desktop */
  .navbar-section {
    height: 10rem;
  }
  .account-logo .logo,
  span.account-name {
    display:block;
    max-height:10rem;
    padding:0.5em 0;
  }	
}.footer-section {
  position: relative;
  background: url(https://dwvt5wwshu97q.cloudfront.net/accounts/485/static_files/71D3NX77MN8HEV8PBZR8E5MJ09/mu-footer-pattern-opaque.png), #000;
  background-position: top center;
  width: 100%;
  background-size: 85.375rem 12.5625rem;
  background-repeat: repeat-x;
  background-position-x: center;
}

.footer-top {
  display:grid;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(min-content, max-content);
  grid-column-gap: 3rem;
}
.footer-top article {
  display:grid;
  grid-auto-rows: minmax(min-content, max-content);
}
.footer-top article ul {list-style:none;}
  
.footer-top article li, .footer-top article p {
  width:100%;
  display:block;
  text-align:center;
  line-height:5rem;
}
.footer-top article li a {text-decoration:none;}

.footer-menu-links {
  gap: 1rem;
}

@media (min-width:62em) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  .footer-top article:nth-child(2) p {text-align:right;}
  .footer-top article li {
    padding-right:2rem;
    margin-right:1rem;
    width:fit-content;
    text-align:left;
    display:inline-block;
  }
  .footer-top article li:last-child {border:none;}
  .footer-top-section-left {
	width: auto;
	text-align: left;
	}
  .footer-top-section-right {
  width: auto;
  text-align: right;
  }
  .footer-menu-links {
    gap: 3rem;
  }
}/* ---------------------
   Main Elements
   --------------------- */
.body {
  background-color: var(--primary-color);
}
.main {margin-top: 7rem;}
@media screen and (min-width: 62em) {.main {margin-top: 10rem;}}
.preview-mode .main {padding-top: 6rem;}

/* breadcrumbs */
#breadcrumbs {
  color: var(--darkgrey);
  padding: 1rem 3rem;
}

#breadcrumbs .current-page {color: #111;}

@media screen and (min-width: 62em) { 
  #breadcrumbs {
    padding: 1rem 4rem;
  } 
}

/* --------------
   Home Page 
   -------------- */
#intro.html-section {
  background-color: var(--massey-blue-dark);
  color: #fff;
  text-align: left;
}

#intro * {
  max-width: 62em;
}

#index .no-search-result {
  text-align: left;
  margin: 3rem 0;
  max-width: 62em;
}

.login-message {
  color: #fff;
  background-color: var(--massey-blue-mid);
  border: 1px solid var(--massey-blue-light);
  padding: 1.5rem 2rem;
  margin-top: 4rem;
  border-radius: 4px;
  width: 100%;
  max-width: 90rem;
  display: block;
}

/* latest assets section */
#latest-assets-header a {
  text-decoration: none;
  padding: 2rem;
  color: #767676;
  font-size: 1.5rem;
}

#latest-assets-header a.active {
  color: #111;
  pointer-events: none;
  box-shadow: inset 0 -2px #111;
  padding: 1.8rem 0;
}

/* hidden info */
#index #store-search,
#index .section.page-actions,
#index .section.assets-pagination,
#index .section.grid-view .asset-buttons,
#index .section.grid-view .asset-source,
#index .section.grid-view .asset-type-icon
{display: none;}

/* masonry styling */
#index .grid-view {
  display: block;
  columns: 1;
  column-gap: 1rem;
  padding: 0;
}

/* responsive */
@media screen and (min-width: 45em) { #index .grid-view {columns: 2;} }
@media screen and (min-width: 62em) { #index .grid-view {columns: 3;} }
@media screen and (min-width: 75em) { #index .grid-view {columns: 4;} }

#index .asset {
  position: relative;
  overflow: hidden;
  padding-bottom: 1rem; /* use padding for Safari fix */
  margin-bottom: 0; /* make sure bottom margin is 0 */
}

#index .asset-image-link {height: auto;}

#index .asset-image {
  display: block;
  width: 100%;
  height: auto;
}

#index .asset-data {
  position: absolute;
  top: -1rem; /* offset asset bottom padding */
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.7); 
  color: #fff; 
  transition: opacity 0.3s ease-in-out;
  margin: 0;
  padding: 0 2rem;
}

#index .asset-grid-name {
    overflow: auto;
    text-overflow: normal;
    white-space: wrap;
}

#index .asset:hover .asset-data {
  opacity: 1;
}

/* END latest assets */

/* --------------
   Brand Guidelines Page 
   -------------- */

#brand-guidelines .main {
  overflow: hidden;
}

.intro-logo {
  width: 100%;
  max-width: 64rem;
  display: block;
  padding-bottom: 4rem;
}

@media screen and (min-width: 48em) {
  .columns {
    columns: 2;
    column-gap: 2rem;
  }
  .columns p {
    margin-block-start: 0;
    margin-block-end: 2em;
  }
}

/* accordion */
.accordion ul {
  list-style: none;
  perspective: 900;
  padding: 0;
  margin: 0;
  text-align: left;
}

.accordion ul li {
  position: relative;
  padding: 0;
  margin: 0;
  padding-bottom: 4px;
  padding-top: 18px;
  border-top: 1px dotted #dce7eb;
  background-color: #fff;
  padding: 1rem 4rem;
}

.accordion ul li:nth-of-type(1) {
  animation-delay: 0.5s;
}

.accordion ul li:nth-of-type(2) {
  animation-delay: 0.75s;
}

.accordion ul li:nth-of-type(3) {
  animation-delay: 1s;
}

.accordion ul li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 16px;
  right: 4rem;
  top: 2.5rem;
}

.accordion ul li i:before, ul li i:after {
  content: "";
  position: absolute;
  background-color: var(--darkgrey);
  width: 3px;
  height: 9px;
}

.accordion ul li i:before {
  transform: translate(-2px, 0) rotate(45deg);
}

.accordion ul li i:after {
  transform: translate(2px, 0) rotate(-45deg);
}

.accordion ul li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
}

.accordion ul li input[type=checkbox]:checked ~ div {
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  transform: translate(0, 50%);
}

.accordion ul li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
}

.accordion ul li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

.accordion .title {padding-right: 2rem;}

.accordion .logo {
  display: block;
  padding: 4rem 25%;
  width: 100%;
}

.html-section .accordion img {margin: 0;}

.bluebg {background-color: var(--massey-blue);}
.greybg {background-color: rgb(204, 204, 204);}

@media screen and (min-width: 62em) {
  .colour-swatches {
    display: flex;
    flex-wrap: wrap;
  }
  
  .accordion ul.colour-swatches li {
      width: calc(100% / 3);
  }
}

.accordion ul.colour-swatches li {
  text-align: center;
  border-top: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.swatch {
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
}

.accordion ul.bullet-list {
  list-style-type: disc;
}

.accordion ul.bullet-list li {
  margin-inline-start: 4rem;
  padding: 0;
  border: none;
}

.dark-blue {background-color: #0A2240;}
.blue {background-color: #004B8D;}
.light-blue {background-color: #4789C8;}
.bright-blue {background-color: #25AAE1;}
.gold {background-color: #E4A024;}
.gradient-dark {background: linear-gradient(#004B8D, #0A2240);}
.gradient-light {background: linear-gradient(#4789C8, #004B8D);}
.tasman {background-color: #395b73;}
.poroporo {background-color: #812990;}
.wai {background-color: rgb(81,196,215);}
.kuku {background-color: #555f29;}
.kamaka {background-color: #796b63;}
.ruapehu {background-color: #afbbc3;}
.karaka {background-color: #E56837;}

/* END accordion */

article.download {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
}

mark {
	padding: 1rem 2rem;
	background-color: #f9d147;
    color: black;
}

/* fix code wrapping on mobile */
pre {
font-family: monospace,monospace;
font-size: 1em;
max-width: 100%;
overflow: auto;
white-space: normal;
}

/* ----------------
   Search widget
   ---------------- */

.search-section {
  max-width: 120rem;
  margin: 0 auto; 	
}

.search-label{
  display: none;
}

.filters{
  justify-content: center;
}

.filter-options .filter-option.selected {
  font-weight: bold;
  background-color: var(--massey-gold);
  color: #fff;
}

.filter-button.button:hover {
  background-color: var(--massey-blue);
}

/* stop overflow on mobile */
@media screen and (max-width: 36em) { #advanced-search .advanced-search-content {max-width: 100%;} }

.search-grid-section .page-actions, 
.search-grid-section .grid, 
.search-grid-section .assets-pagination {
  background-color: var(--primary-color);
  padding-bottom:4rem;  
}
.change-grid-view .icon-text {
display: none;
}

.file-icon::before{
  border-color: var(--primary-color) var(--primary-color) rgba(255, 255, 255, .3) rgba(255, 255, 255, .35);
}

/* ----------------
   Masonry view 
   ----------------- */
.masonry-asset {
  margin-bottom: 2rem;
  background-color: white;
  padding: 0;
  float: left;
}
.masonry-asset:hover {opacity:0.6;}
.masonry-asset .asset-grid-icon {position:relative;}
.masonry-asset .asset-grid-name {margin-left:0;}

/* ------------
Feed view 
---------------- */
.feed-view .asset-name {
	text-align:left;
  	justify-content:left;
}
.feed-view .asset-grid-name {
  font-size: 1.2em;
  text-align:left;
  font-weight:bold;
}
.feed-view .feed-asset-type-icon {display:none;}

/* ------------
   Gallery 
   ------------ */

/*-- Mobile --*/
.gallery-link,
.gallery-image {
  height: 8rem;
}

/*-- Desktop --*/
@media (min-aspect-ratio: 1/1) {
  .gallery-link,
  .gallery-image {
    height: 16rem;
  }
}

/* fix download form terms field separation issue */
.form-checkbox.terms {
margin: 5rem 0;
}/* Layout and basic styles of Asset Detail Page */
.albums-section-title{
  display: none;
}

.asset-page-wrapper {
  padding: 2rem 2em;
}
@media (min-width:768px) {
  .asset-page-wrapper {
    padding: 6rem 6em;
  }
}

.asset-data{
  margin-top: 1rem;
}

.asset-data,
.asset-buttons{
  text-align: center;
}

button.asset-action {color:#000;}

.asset-info span:not(.asset-id, .asset-source):before {
  content: ' | ';
}

.asset-source:before {
  content: 'src: ';
}

.asset-page-wrapper.post .asset-proxy-section,
.asset-page-wrapper.post .asset-details-section,
.asset-page-wrapper.post .asset-tags-section{
  max-width: 90rem;
  margin: auto;
  width: 100%;
}

.asset-page-wrapper.post .asset-proxy-section{
  margin-top:2rem;
}


.asset-tags-title,
.asset-type-title,
.asset-size-title,
.asset-filename-title,
.asset-dimensions-title,
.asset-type-value,
.asset-extension-title,
.asset-release-date,
.asset-created-at,
.asset-id-title,
.asset-licence-title,
.asset-word-count-title{
  display:none;
}

.asset-licence-value:before{
  content: ' -';
  margin-right: 0.5rem;
}

.asset-licence-subtitle:after,
.asset-expiry-date-title:after,
.asset-created-at-title:after,
.asset-release-date-title:after,
.asset-credit-title:after,
.asset-usage-title:after{
  content:':';
}

.AssetView .asset-title {
  font-size: 2rem;
  flex: 0 0 100%;
}

.asset-page-main .asset-type,
.asset-page-main .asset-size,
.asset-page-main .asset-extension,
.asset-page-main .asset-id{
  width: 33%;
  display: inline;
}

.asset-details-section {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.asset-details-section article {
  flex: 1;
  flex: 0 0 100%;
}

.asset-details-section .asset-type,
.asset-details-section .asset-size,
.asset-details-section .asset-dimensions,
.asset-details-section .asset-extension,
.asset-details-section .asset-id,
.asset-details-section .asset-word-count{
  flex: 0 0 content;
}

.asset-type-icon,
.asset-license-icon,
.asset-expiry-date-icon,
.asset-created-at-icon,
.asset-release-date-icon,
.asset-credit-icon,
.asset-usage-icon,
.asset-reference-icon,
.asset-location-icon {
  float: left;
  margin-right: 1rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.AssetView .asset-extension:before,
.AssetView .asset-id:before,
.AssetView .asset-size:before,
.AssetView .asset-dimensions:before,
.AssetView .asset-word-count:before{
  content: ' | ';
  margin-left: 0.5rem;
}

.AssetView .asset-id:before {
  content: '#';
  margin-right: -0.4rem;
}

/* removed 10 Jun as now appears to be added as HTML by the server
.AssetView  .asset-placename:after,
.AssetView  .asset-city:after,
.AssetView  .asset-region:after {content:','}
*/

.AssetView .asset-latitude:before {
  content:'Latitude: ';
}
.AssetView .asset-longitude:before {
  content:'Longitude: ';
}

/* Margins and paddings */
.AssetView .asset-details-section article {
  margin-bottom: 1.2rem;
}

.asset-page-wrapper .section{
  padding: 0;
}

.asset-tags{
  margin-top: 3rem;
}

/* added to solve tag wrapping */
.asset-tags a {
  font-size: 1.2rem;
  line-height: 1.8rem;
  float: left;
  margin: 0 0.8rem 1.2rem 0;
}

.asset-term-of-use{
  margin-top: 1rem;
}

.AssetView .asset-body {
  margin-bottom: 1.8rem;
}

.asset-body p {
  margin: 0;
}

.AssetView .asset-type-icon {
  order: 2;
  margin-bottom: 0.8rem;
  flex: unset;
}

.AssetView .asset-name {
  order: 1;
  width: 100%;
}

.AssetView .asset-id {
  order: 3;
}

.AssetView .asset-extension {
  order: 4;
}

.AssetView .asset-word-count {
  order: 4;
}

.AssetView .asset-size {
  order: 5;
}

.AssetView .asset-dimensions {
  order: 6;
}

.AssetView .asset-description {
  order: 7;
}

.AssetView .asset-licence {
  order: 8;
}

.AssetView .asset-terms-of-use {
  order: 9;
  padding-bottom: 1rem;
}

.AssetView .asset-expiry-date {
  order: 10;
}

.AssetView .asset-release-date {
  order: 11;
}

.AssetView .asset-created-at {
  order: 12;
}

.AssetView .asset-credit {
  order: 13;
}

.AssetView .asset-usage {
  order: 14;
}

.AssetView .asset-reference {
  order: 15;
}

.AssetView .asset-account {
  order: 15;
}

.AssetView .asset-location {
  order: 16;
}

/* adds some separation to the related assets section in Portal */
.related-assets-section {
  border-top:1px dotted #ccc;
  margin-bottom:5em;
}

/* move proxy in assets to top in mobile but preserve post positioning */
.asset-page-wrapper .section.breadcrumb-section {padding:1em 0;}
.asset-page-wrapper {
  grid-template-areas: "breadcrumb breadcrumb breadcrumb" "proxy proxy proxy" "details details details"  "tags tags tags" "actions actions actions";
}
.asset-page-wrapper.post {
  grid-template-areas: "breadcrumb breadcrumb breadcrumb" "proxy proxy proxy" "tags tags tags" "actions actions actions";
}

@media (min-width:36em) {
  .asset-page-wrapper .section.breadcrumb-section {padding:0;}
  .asset-proxy-section {
    margin-right: 5rem
  }
  .asset-page-wrapper .section.breadcrumb-section {padding:0;}
  .asset-page-wrapper {
    grid-template-areas: "breadcrumb actions actions" "proxy proxy details" "proxy proxy tags";
  }
  .asset-page-wrapper.post {
    grid-template-areas: "breadcrumb actions actions" "proxy proxy proxy" "tags tags tags";
  }
}

/* stop right click save */
img.proxy-preview {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Sign Up Page styles */
.new-account-section .form-section {
  background-color:transparent;
  padding:0;
}

.new-account-hint {font-size:2.5rem;}

.new-account-section .form-section form {
  background-color:antiquewhite;
  border-radius:1em;
  padding:1em;
}

@media screen and (min-width: 75em) {
  .new-account-section .form-section {
    width: 33vw;
    min-width:30em;
    margin:1em auto;
    background-color:transparent;
  }
  .new-account-section .form-section form {
    background-color:antiquewhite;
    border-radius:1em;
    padding:2em;
  }
  .new-account-section .new-account-embeded-image {
    padding:3rem;
    max-width:66vw;
  }
  blockquote {padding:2em;}
  blockquote span {
    display:block;
    width:100%;
    font-size:2.2rem;
    font-weight:bold;
  }
  blockquote cite {
    display:block;
    width:100%;
    font-size:1em;
    text-align:center;
  }	
  .signup-faq {
    margin:2.5%;
    text-align:left!important;
    padding-top:1em;
  }
}
.desktop {display:none;}

@media screen and (min-width: 62em){
  .desktop {display:block;}
  .mobile {display:none;}
}

/* faq styles */
dl {
  column-count: 1;
  column-gap: 0rem;
}

.fw dl {
  column-count: 1;
  column-gap: 0rem;
}
@media (min-width:48em) {
  dl {
    column-count: 2;
    column-gap: 5rem;
  }
  .fw dl {
    column-count: 3;
    column-gap: 5rem;
  }
}

dt {font-weight:bold;}
dt.subtitle {
  border-bottom: 2px solid #000;
  margin:2rem 0;
}
dt.subtitle:first-child {
  border-bottom: 2px solid #000;
  margin:0 0 2rem 0;
}
dd {margin-bottom:1rem;}
.bk-wall .brandkit-logo,
.bk-wall .logo {
  max-height: 20rem;
}

.bk-wall .button {
  line-height: 3rem;
}

@media screen and (min-width: 36em) {
  .bk-wall {
    margin: 10em auto 4em auto;
    padding: 3rem 6rem
  }
}

@media screen and (min-width: 48em) {
  .bk-wall {
    margin: 10em 4em;
  }
}
.reset-password-section {
  background-color:#fff;
  width:fit-content;
  margin:0 4em;
}

/* change microsoft login button text */
span.login-with-microsoft-text {
  visibility:hidden;
  position:relative;
}
span.login-with-microsoft-text:after {
  visibility:visible;
  content:'MU Staff Login';
  position: absolute;
  top: 0;
  left: -3rem;
}

/* so appearance is more centred */
span.login-with-microsoft-icon .social-icon {
  left: -3rem;
}/* full width section */
.fw {padding:4em 0;}

@media (min-width:77rem) {
  .fw {
    width:100vw;
    padding:4em 0;
  } 
}

/* full height section */
.fh {
  padding-top:0;
  padding-bottom:0;
}

/* two column grids used throughout site */
.two-col-grid {
  display:grid;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(min-content, max-content);
  grid-column-gap: 2em;
  grid-row-gap:2em;
}
.two-col-grid article {
  display:grid;
  grid-auto-rows: minmax(min-content, max-content);
}
/* Tablet Breakpoint 768px / 16px = 48em */
@media (min-width:48em) {
  .two-col-grid {
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 6em;
    grid-row-gap:6em;
  }
  .two-col-grid h1, .two-col-grid h2 {
  }
}  
/* end 2 col grid */

/* 3 column grids used throughout site */
.three-col-grid {
  display:grid;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(min-content, max-content);
  grid-column-gap: 2em;
  grid-row-gap: 2em;
}
.three-col-grid article {
  display:grid;
  grid-auto-rows: minmax(min-content, max-content);
}

/* Tablet Breakpoint 768px / 16px = 48em */
@media (min-width:48em) {
  .three-col-grid {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 4em;
    grid-row-gap:4em;
  }
}
/*  Desktop Breakpoint 1200px / 16px = 75em*/ 
@media (min-width:75em) {
  .three-col-grid {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 4em;
    grid-row-gap:4em;
  }
  .three-col-grid h1, .three-col-grid h2 {
  }
}  
/* end 3 col grid */

/* 4 column grids used throughout site */
.four-col-grid {
  display:grid;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(min-content, max-content);
  grid-column-gap: 2em;
  grid-row-gap: 2em;
}
.four-col-grid article {
  display:grid;
  grid-auto-rows: minmax(min-content, max-content);
}
/*  Desktop Breakpoint 768px / 16px = 48em */ 
@media (min-width:48em) {
  .four-col-grid {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 2em;
    grid-row-gap:2em;
  }
}
/*  Desktop Breakpoint 1200px / 16px = 75em */   
@media (min-width:75em) {
  .four-col-grid {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 2em;
    grid-row-gap:2em;
  }
}  
/* end 4 col grid */
section.blackbg {
  background-color: #121212;
  color: #fff!important;
}
section.whitebg {
  background-color: #fff;
}
.search-grid-section .assets-pagination {
    padding-bottom: 2rem; /* reset padding on sections */
}
/* reset section padding on occasion */
.tight-bottom {padding-bottom:0;}
.tight-top {padding-top:0;}
.tight-left {padding-left:0;}
.tight-right {padding-right:0;}

/* html section */
.html-section,
#index .grid-section-wrapper {
  width:100vw;
  padding-top:3rem;/* reset padding on sections */
  padding-left:2em;
  padding-right:2em;
  padding-bottom:3rem;/* reset padding on sections */
}
.html-section img {margin:2em auto;}
.html-section p img {margin:0 auto;}
.html-section:first-child {padding-top:6rem;}

@media (min-width:62em) {
  .html-section,
  #index .grid-section-wrapper {
    padding-left:3em; 
    padding-right:3em;  
  }
}  
@media (min-width:75em) {
  .html-section,
  #index .grid-section-wrapper {
    padding-left:calc(50vw - 34.5em); 
    padding-right:calc(50vw - 34.5em);   
  }
}  
@media (min-width:120em) {
  .html-section,
  #index .grid-section-wrapper {
    padding-left:calc(50vw - 45em); 
    padding-right:calc(50vw - 45em);  
  }
}

/* show the Search label and the And/Or toggle in the Search Grid */
label.search-label {
  display: block;
}.button,
.normal-button {
  color: #fff;
  background-color: var(--massey-gold);
  padding: 1rem 2rem;
}

.download-button {
  width: max-content;
  margin: auto;
}

.cancel-button, .cancel-my-account-button, .danger-button {
  color:red; 
  text-decoration:underline; 
  background-color:#fff;}

.button-with-border {
  color: #000;;
  background-color: #fff;
  border: 1px solid #000;
}
.edit-profile-button {
  width:100%;
}
.normal-button.save-profile-changes-button,
.normal-button.save-profile-changes-button  {
  padding: 1rem 2rem;
}

a:hover,
.asset-add-to-basket-button:hover,
.clear-search-btn:hover {
  opacity:0.6;
}

.button.asset-action.asset-download-button {
  color: #fff;
  background-color: var(--massey-gold);
  border-color: var(--massey-gold);
}

button.asset-action:hover,
a.asset-action:hover,
.button.asset-action.asset-download-button:hover {
  background-color: var(--massey-blue);
  border-color: var(--massey-blue);
  opacity: 1;
  color: #fff;
}/* Albums widget */
.albums-grid .album {
  aspect-ratio: 3 / 2; /* sets aspect ratio of album covers consistently when height is calculated */
  width: 100%;
  height: -webkit-fit-content;
}

.albums-grid .album-cover {background-color: #fff;}

.albums-grid .album-cover, .albums-horizontal-grid .album-cover {
  min-height: auto; 
}

.album-cover, .album-with-no-cover {
  border: none;
}

.album-cover:hover, .album-with-no-cover:hover {
  border: none;
}

.transparent {background: transparent;}

.albums-grid .album-title {
  display: flex;
  flex-direction: column;
}

/* new album select state */
a.album-selected {
  border: none;
  box-shadow: none;
}
a.album-selected img, a.album-selected div.album-with-no-cover,
a.album-selected img:hover, a.album-selected div.album-with-no-cover:hover {
  border: 5px solid var(--massey-gold);
  box-shadow: 0 15px 25px 1px #ccc;
}
a.album-selected span.album-title {
  color:#000;
  font-weight:bold;
}
/* end album select state */

.albums-horizontal-grid .album-wrapper {
  padding: 4rem 2rem 0;
  grid-gap: 2rem;
}

/* tablet - rows of two */
@media screen and (min-width: 48em) {
  .albums-grid .album {width: calc(50% - 1rem);}
}

/* desktop - rows of three */
@media screen and (min-width: 62em) {
  .albums-grid .album-wrapper {
	max-width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 4rem 10%;
  }

  .albums-grid .album {
    width: calc(33% - 3rem);
  }
  
  .albums-horizontal-grid .album-wrapper {
	max-width: 100%;
    grid-gap: 4rem;
    overflow-wrap: normal;
    flex-wrap: wrap;
  }
}/* carousel */

#carousel {
  position: relative;
  overflow: hidden;
  line-height: 0;
  height: 100%;
  padding: 0;
}

/* image overlay */
#carousel::after {
  content: '';
  background: linear-gradient(360deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.1) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.carousel-container {
  display: flex;
  transition: transform 1s ease;
}

.carousel-slide {
  flex: 0 0 100%; /* Ensure each slide takes full width */
}

.carousel-slide img {
  width: 100%;
  margin: 0;
}

/* left and right navigation (hidden) */
.prev,
.next {
  position: absolute;
  top: 0;
  background-color: red;
  cursor: pointer;
  height: 94.5%;
  width: 10%;
  z-index: 1;
  opacity: 0;
}

.prev {
  left: 0;
}

.next {
  right: 0;
}

/* slide indicators */
.carousel-dots {
  position: absolute;
  bottom: 10%; 
  left: 50%;
  transform: translateX(-50%); /* Corrects horizontal centering */
  z-index: 1;
}

.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

/* active slide indicator */
.dot.active {
  opacity: 100%;
}

/* inactive slide indicator */
.dot:not(.active) {
  opacity: 50%;
}

/* move searchbox up over carousel */
#searchbox.search-box-section.desktop {
  position: relative;  
  width: 100%;
  /* position down from top amount of main padding / navbar height */
  margin-top: calc(-100vw/3);
  /* calculate height by aspect ratio of carousel images, so it's the same size */
  height: calc(100vw/3);
}

.desktop .search-box-component {
    width: 50%;
}

@media screen and (max-width: 36em) {.search-box input{font-size: 80%;}}

/* Styles for the 'assets-button' */
.assets-button {
  content: '';
  background-color: var(--massey-gold);
  position: absolute;
  right: -1px;
  top: -1px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  min-width: 6rem;
  padding: 1rem 2rem;
  cursor: pointer;
  color: #fff;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="100" height="100" viewBox="0 0 50 50" fill="%23fff"%3E%3Cpath d="M 21 3 C 11.601563 3 4 10.601563 4 20 C 4 29.398438 11.601563 37 21 37 C 24.355469 37 27.460938 36.015625 30.09375 34.34375 L 42.375 46.625 L 46.625 42.375 L 34.5 30.28125 C 36.679688 27.421875 38 23.878906 38 20 C 38 10.601563 30.398438 3 21 3 Z M 21 7 C 28.199219 7 34 12.800781 34 20 C 34 27.199219 28.199219 33 21 33 C 13.800781 33 8 27.199219 8 20 C 8 12.800781 13.800781 7 21 7 Z"%3E%3C/path%3E%3C/svg%3E');
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
}

/* Hover effect */
.assets-button:hover {
  background-color: var(--massey-blue);
}